<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script src="./lib/jquery.js"></script>
    <script>
        // 1.
        // function loadBooks() {
        //     $.get('http://www.liulongbin.top:3006/api/getbooks', function(res) {
        //         var books = res.data;
        //         return books;
        //         //这里return books 是在回调函数里  也只能回调函数调用 外面loadBooks()没用
        //     });
        // }
        // var ret = loadBooks();
        // console.log(ret); //undefined
        // 2.
        // function loadBooks() {
        //     var books = null;
        //     $.get('http://www.liulongbin.top:3006/api/getbooks', function(res) {
        //         books = res.data;
        //     });
        //     return books;
        // }
        // var ret = loadBooks(); //调用函数后的返回值用变量存起来 这里返回的是books
        // console.log(ret); //null  因为异步还未执行就return了  所以打印结果就是null
        // 3.回调函数
        // 无法通过返回值得到异步结果，必须通过回调函数才可以
        function getBooks(fn) {
            $.get('http://www.liulongbin.top:3006/api/getbooks', function(res) {
                var books = res.data;
                fn(books);
            });
        }
        getBooks(function(data) {
            console.log(data); //利用回调函数将books内容带出来了
        });
        //首先在调用getBooks（）时传一个实参进去  也就是回调函数
        //其次 在异步的回调函数里调用这个函数  function()
        //然后传一个books 实参  也就是data
    </script>
</body>

</html>